Entity Class তৈরি করা এবং DbContext ব্যবহার করা

Microsoft Technologies - এন্টিটি ফ্রেমওয়র্ক (Entity Framework) Code First Approach |
228
228

Entity Framework-এ Code First অ্যাপ্রোচ ব্যবহার করলে, প্রথমে আপনাকে Entity Class তৈরি করতে হয়, যা আপনার ডেটাবেসের টেবিলগুলির প্রতিনিধিত্ব করবে। এরপর, এই Entity Class-এর সাথে সম্পর্কযুক্ত DbContext ক্লাস তৈরি করতে হয়, যা ডেটাবেসের সাথে যোগাযোগ এবং CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করবে।

এখানে Entity Class এবং DbContext তৈরির প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।


Entity Class তৈরি করা

Entity Class হলো একটি C# ক্লাস যা ডেটাবেস টেবিলের একটি একক এন্টিটি বা রেকর্ডের প্রতিনিধিত্ব করে। এর মধ্যে প্রপার্টি গুলি ডেটাবেসের টেবিলের কলামের মতো কাজ করে।

Entity Class উদাহরণ

ধরা যাক, আমরা একটি "Student" নামক Entity Class তৈরি করতে যাচ্ছি, যেখানে ছাত্রের Id, Name এবং Age থাকবে। Entity Classটি দেখতে এরকম হবে:

public class Student
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
    public int Age { get; set; }
}

এখানে:

  • Id প্রপার্টিটি ডেটাবেসের প্রাইমারি কী (Primary Key) হিসেবে কাজ করবে।
  • Name এবং Age প্রপার্টি দুটি টেবিলের কলাম হিসেবে কাজ করবে।

এটি Entity Framework এর জন্য একটি Entity Class, যা ডেটাবেসের একটি টেবিলের প্রতিনিধিত্ব করে।

Entity Class-এ Data Annotations ব্যবহার

এছাড়া, আপনি Data Annotations ব্যবহার করে Entity Class-এ কিছু কনফিগারেশনও দিতে পারেন, যেমন:

public class Student
{
    [Key]
    public int Id { get; set; }

    [Required]
    [StringLength(100)]
    public string Name { get; set; }

    [Range(5, 100)]
    public int Age { get; set; }
}

এখানে:

  • [Key]: Id প্রপার্টি কে প্রাইমারি কী হিসেবে চিহ্নিত করছে।
  • [Required]: Name প্রপার্টি এখন বাধ্যতামূলক হয়ে গেছে।
  • [StringLength(100)]: Name এর সর্বোচ্চ দৈর্ঘ্য 100 অক্ষর হবে।
  • [Range(5, 100)]: Age প্রপার্টি ৫ থেকে ১০০ এর মধ্যে থাকতে হবে।

এভাবে, Data Annotations দিয়ে Entity Class এর মধ্যে কনফিগারেশন করা হয়।


DbContext ব্যবহার করা

DbContext হলো Entity Framework-এর প্রধান ক্লাস যা ডেটাবেসের সাথে যোগাযোগ করে এবং Entity ক্লাসগুলোর প্রতিনিধিত্বকারী DbSet প্রপার্টি ধারণ করে। DbContext-ই ডেটাবেস অপারেশনগুলিকে পরিচালনা করে।

DbContext ক্লাস তৈরি করা

DbContext তৈরি করতে হলে, আপনাকে একটি ক্লাস তৈরি করতে হবে যা DbContext ক্লাস থেকে উত্তরাধিকারী (inherit) হবে এবং সেই ক্লাসে DbSet প্রপার্টি ডিফাইন করতে হবে। প্রতিটি DbSet একটি Entity Class এর প্রতিনিধিত্ব করে এবং এটি ডেটাবেসের একটি টেবিলের মতো কাজ করে।

public class SchoolContext : DbContext
{
    public DbSet<Student> Students { get; set; }
}

এখানে:

  • SchoolContext একটি DbContext ক্লাস যা ডেটাবেসের সাথে যোগাযোগ করে।
  • DbSet<Student> প্রপার্টি একটি টেবিল হিসেবে Student Entity Class-এর প্রতিনিধিত্ব করবে।

DbContext কনফিগারেশন

DbContext-এ আপনি OnConfiguring মেথডও ওভাররাইড করে ডেটাবেসের কানেকশন স্ট্রিং কনফিগার করতে পারেন। উদাহরণস্বরূপ:

public class SchoolContext : DbContext
{
    public DbSet<Student> Students { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("your_connection_string_here");
    }
}

এখানে UseSqlServer মেথডের মাধ্যমে আমরা SQL Server ডেটাবেসের কানেকশন স্ট্রিং উল্লেখ করছি। আপনি এখানে অন্য ডেটাবেস (যেমন SQLite, PostgreSQL ইত্যাদি) ব্যবহার করার জন্য উপযুক্ত মেথড ব্যবহার করতে পারেন।


DbContext ব্যবহার করে ডেটাবেস অপারেশন

DbContext ব্যবহার করে আমরা ডেটাবেসে CRUD অপারেশন করতে পারি। নিচে একটি সাধারণ উদাহরণ দেয়া হলো, যেখানে আমরা Student Entity ক্লাস ব্যবহার করে ডেটাবেসে একটি নতুন Student যুক্ত করব এবং তা রিড (read) করব।

Create Operation (Create নতুন Student)

using (var context = new SchoolContext())
{
    var student = new Student
    {
        Name = "John Doe",
        Age = 21
    };

    context.Students.Add(student);
    context.SaveChanges();  // ডেটাবেসে পরিবর্তন সংরক্ষণ
}

এখানে:

  • Add() মেথড ব্যবহার করে আমরা নতুন Student যুক্ত করছি।
  • SaveChanges() মেথড ব্যবহার করে ডেটাবেসে পরিবর্তন সংরক্ষণ করা হচ্ছে।

Read Operation (ডেটাবেস থেকে Student পড়া)

using (var context = new SchoolContext())
{
    var student = context.Students.FirstOrDefault(s => s.Name == "John Doe");
    Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}

এখানে:

  • FirstOrDefault() মেথড ব্যবহার করে আমরা Name দ্বারা Student খুঁজে পাচ্ছি।

DbContext এবং Entity Class এর সম্পর্ক

  • Entity Class: এটি একটি C# ক্লাস যা আপনার ডেটাবেস টেবিলের এক একটি রেকর্ডের প্রতিনিধিত্ব করে।
  • DbContext: এটি ডেটাবেস এবং Entity ক্লাসের মধ্যে যোগাযোগ স্থাপন করে। DbContext এর মধ্যে আপনার Entity Class গুলি DbSet প্রপার্টি হিসেবে সংরক্ষিত থাকে এবং আপনি এই প্রপার্টি ব্যবহার করে CRUD অপারেশন পরিচালনা করতে পারেন।

এভাবে Entity Class এবং DbContext ব্যবহার করে আপনি Entity Framework Code First অ্যাপ্রোচে ডেটাবেস ম্যানেজমেন্ট করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion